package com.wei.czz.framework.common.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;

import com.wei.czz.common.enums.common.exportTask.TaskTypeEnum;
import com.wei.czz.common.enums.CommonEnum;
import com.wei.czz.common.enums.common.FileTypeEnum;
import com.wei.czz.common.enums.common.exportTask.DataTypeEnum;
import com.wei.czz.common.enums.common.exportTask.ExportStatusEnum;

import com.wei.czz.common.tool.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2022-03-19 14:09:19
 * className: ExportTaskEntity 系统文件导出任务表实体类
 * version: 1.0
 * description:
 * 	系统文件导出任务表
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("sys_export_task")
public class ExportTaskEntity extends BaseEntity {

	/**
	 * 主键
	 * 主键类型：雪花主键
	 */
	@TableId
	private Long taskId;

	/**
	 * 任务类型 {@link TaskTypeEnum}
	 */
	private Integer taskType;

	/**
	 * 任务导出模式[0-异步 1-同步]{@link CommonEnum}
	 */
	private Integer exportMode;

	/**
	 * 导出文件类型[0-xlsx 1-csv 2-xls 3-txt]{@link FileTypeEnum}
	 */
	private Integer fileType;

	/**
	 * 导出文件存储路径（异步下载时存储文件路径）
	 */
	private String filePath;

	/**
	 * 导出的数据类型[0-当前页数据 1-全部数据 2-自选数据页 3-自选数据]{@link DataTypeEnum}
	 */
	private Integer dataType;

	/**
	 * 导出数据数量
	 */
	private Integer dataRow;

	/**
	 * 文件包含数据项列表（json-array格式数据）
	 */
	private String fields;

	/**
	 * 导出参数（json-object格式数据）
	 */
	private String params;

	/**
	 * 任务状态[0-正在导出 1-导出成功 2-导出失败]{@link ExportStatusEnum}
	 */
	private Integer status;

	/**
	 * 删除状态[0-正常 1-删除]
	 */
	private Integer deleteStatus;

	/**
	 * 任务开始时间
	 */
	private Date startTime;

	/**
	 * 任务结束时间
	 */
	private Date endTime;

	/**
	 * 更新时间
	 */
	private Date updateTime;

	/**
	 * 操作更新的用户
	 */
	private String updateUser;

	/**
	 * 操作更新的用户主键
	 */
	private Long updateUserId;

	/**
	 * 创建时间
	 */
	private Date createTime;

	/**
	 * 操作创建的用户
	 */
	private String createUser;

	/**
	 * 操作创建的用户id
	 */
	private Long createUserId;

	/**
	 * 备注
	 */
	private String remark;

}
